// miniprogram/pages/info/info.js
const { $Message } = require('../../dist/base/index');
var app=getApp()
var db=app.globalData.db;
Page({

  /**
   * 页面的初始数据
   */
  data: {
    value1:"",//姓名
    value2:"",//学院
    value3:"",//专业
    value4:"",//学号
    sms:"",//手机号
    value5:"",//验证码
    valueWX:"",//微信号码
    isCertify:app.globalData.isCertify,//是否已认证
    showSms:false,//是否展示验证码
    textSms:'获取验证码',//按钮的验证码文字
  },
//输入名字
inputName(e){
  this.name=e.detail.detail.value
},
//输入学院
inputCollege(e){
  this.college=e.detail.detail.value
},
//输入专业
inputProfession(e){
  console.log(e)
  this.profession=e.detail.detail.value
},
//输入学号
inputNumber(e){
  this.number=e.detail.detail.value
},
//输入微信号码
inputWX(e){
  this.WX=e.detail.detail.value
},
//输入手机号
inputSms(e){
  this.phone=e.detail
},
//倒计时闭包函数，验证码发送后倒计时
countDown(){
  var i=60
  return ()=>{this.setData({
    textSms:i+'秒'
  })
  i--
  if(i<0){
    this.setData({
      showSms:false,
      textSms:'获取验证码'
    })
    clearInterval(this.interval)
  }
}
},
//获取验证码
sendSms(){
  if(this.phone&&this.phone.length==11){
    //调用云函数生成短信验证码
    wx.cloud.callFunction({
      name: 'zhenzisms',
      data: {
        $url: 'createCode',
        number: this.phone,//手机号码
        seconds: 60,//验证码有效期(秒)
        length: 6,//验证码位数
        intervalTime: 60 * 1000//两条短信间隔时间(毫秒)，<=0 时无间隔
      }
    }).then((res) => {
      if(res.result.code != 'success'){
        wx.showToast({
          title: '验证码发送失败，请重试',
          icon:"none",
          duration:800,
          mask:true
        })
        return ;
      }
      console.log('验证码创建成功')
      var captcha = res.result.data;
      var templateParams = [captcha, '1'];
      //调用云函数发送短信
      wx.cloud.callFunction({
        name: 'zhenzisms',
        data: {
          $url: 'send',
          apiUrl: 'https://sms_developer.zhenzikj.com',
          number: this.phone,
          templateId: '3316',
          templateParams: templateParams
        }
      }).then((res) => {
        console.log(res)
        if(res.result.code == 0){
          wx.showToast({
            title: '验证码发送成功',
            icon:"success",
            duration:800,
            mask:true
            
          })
          this.setData({
            showSms:true
          })
          this.interval=setInterval(this.countDown(),1000)
        }
      })
    }).catch((e) => {
      console.log(e);
    });
 
  }
  else{
    $Message({
      content: '请输入正确的电话号码',
      type: 'warning'
  });
  return
  }
},
//输入短信验证码
inputCode(e){
  this.code=e.detail.detail.value
},
//发送信息
submitInfo(){
  if(!this.name||!this.college||!this.profession||!this.number||!this.phone||!this.code||!this.WX){
    $Message({
      content: '请补全信息',
      type: 'warning'
  });
  return
  }
  wx.cloud.callFunction({
    name: 'zhenzisms',
    data: {
      $url: 'validateCode',
      number: this.phone,
      code: this.code
    }
  }).then((res) => {
    if(res.result.code==='success'){
      db.collection('user').add({
        data:{
          name:this.name,
          college:this.college,
          profession:this.profession,
          number:this.number,
          wx:this.WX,
          phone:this.phone
        },
        success:res=>{
          app.globalData.phone=this.phone
          clearInterval(this.interval)
         $Message({
           content: '提交成功',
           type: 'success'
       });
           //将标志位写入缓存，在app.js中读取缓存
          wx.setStorageSync('isCertify', true)
         setTimeout(function(){
           wx.navigateBack({
             delta: 0,
           })
       },800)
        },
        fail:err=>{
         $Message({
           content: '提交失败，请尝试重新提交',
           type: 'error'
       });
        }
      })
    }
    else if(res.result.code==='code_expired'){
      $Message({
        content: '验证码已过期，请重新发送',
        type: 'warning'
    });
    }
    else if(res.result.code==='code_error'){
      $Message({
        content: '验证码错误',
        type: 'error'
    });
    }
  }).catch((e) => {
    console.log(e);
  });

},
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {



    db.collection('user').where({
      _openid:app.globalData.openid
    }).get({
      success:res=>{
        if(res.data.length!==0){
          this.setData({
            value1:res.data[0].name,
            value2:res.data[0].college,
            value3:res.data[0].profession,
            value4:res.data[0].number,
            valueWX:res.data[0].wx,
            sms:res.data[0].phone,
            isCertify:true
          })
          console.log(InputDeviceInfo)
              //判断是否认证
          if(!this.data.isCertify){
        wx.setStorageSync('isCertify', this.data.isCertify)
        }
      }
      },
      fail:err=>{
        wx.navigateTo({
          url: '../info/info',
        })
      }
    })

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})